package com.java.dao;

import com.java.entity.ExTopicOption;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;

/**
* @ClassName: ExTopicOptionDao
* @Description: 提供基本的增删改查接口，本类不可手动修改
* @author admin
* @date 2024-03-15
 */
public interface ExTopicOptionDao {

	/**
	 * 完全插入，没有条件判断
	 */
    int insert(ExTopicOption record);

	/**
	 * 不完全插入，根据条件判断
	 */
    int insertSelective(ExTopicOption record);

	/**
	 * 批量完全插入，没有条件判断
	 */
    int insertBatch(List<ExTopicOption> list);

	/**
	 * 完全更新，没有条件判断
	 */
    int update(ExTopicOption record);

	/**
	 * 不完全更新，根据条件判断
	 */
    int updateSelective(ExTopicOption record);

	/**
	 * 根据主键删除信息
	 */
    int deleteByKey(String optionId);

	/**
	 * 修改删除，主键/删除的字段名
	 */
    int deleteUpdate(@Param("optionId")String optionId, @Param("delColumn")String delColumn);

	/**
	 * 根据主键获取单个信息
	 */
    ExTopicOption selectByKey(String optionId);

	/**
	 * 根据分页查询列表
	 */
    List<ExTopicOption> selectAll(@Param("record")Map<String, Object> record, @Param("pageOffset")int pageOffset, @Param("pageSize")int pageSize);

	/**
	 * 分页搭配的总数量
	 */
    long selectAllCount(@Param("record")Map<String, Object> record);
    
    /**
	 * 没有分页查询列表
	 */
    default List<ExTopicOption> selectAllNotPage(Map<String, Object> record) {
    	return selectAll(record, 0, 0);
    }
}